fix: effort switch shows by default + status shows the actual model - #21
Merged
Conversation
Two follow-ups to the model/effort switcher: 1. Effort section never appeared unless a model was explicitly picked. It was keyed on the explicit override, which is None until the user chooses — so the common default state showed no effort control. Resolve an 'effective model' (override -> the CLI 'default' entry -> first) and key the effort levels + the model checkmark off that, so effort shows for the default model too. 2. The status bar showed a literal 'Default', not the model actually running. Wire the Started event's resolved model id (e.g. claude-opus-4-8[1m]) into a new active_model field and show it (context suffix stripped) — updated every turn. Before the first turn it falls back to the effective selection's display name. Picking a new model clears active_model so the choice shows immediately until the next turn confirms it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #20, fixing two issues reported in testing.
1. No effort switch
The Effort section was keyed on the explicit model override, which is
Noneuntil the user picks a model — so in the default state (the common case) it never rendered. Now an effective model is resolved (override → the CLI \default` entry → first model) and the effort levels + the model checkmark key off that. The Effort section now appears for the default model too, populated from its \supportedEffortLevels`.2. Status bar showed "Default", not the real model
The status now surfaces the model the CLI actually resolved, taken from the `Started` event (previously discarded) into a new `active_model` field — e.g. `claude-opus-4-8` (the `[1m]` context suffix is stripped). It updates every turn.
Scope
Checks
fmt ✅ · clippy `-D warnings` ✅ · tests ✅ (105)